package org.zjt.review

/**
  * DESC      list 一旦创建，就不能修改list。
  *
  * @author
  * @create 2017-06-21 下午1:56
  **/
object ListTest extends App {

  // 字符串列表
  val site: List[String] = List("Runoob", "Google", "Baidu")

  // 整型列表
  val nums: List[Int] = List(1, 2, 3, 4)

  println(nums.drop(1))
  // 空列表
  val empty: List[Nothing] = List()

  // 字符串列表
  val site1 = "Runoob" :: ("Google" :: ("Baidu" :: Nil))

  // 整型列表
  val nums1 = 1 :: 222 :: (2 :: (3 :: (4 :: Nil)))

  // 空列表
  val empty1 = Nil

  //
  val one = "zhang" :: "lisi" :: "wang" :: Nil


  /*
  nums1.foreach(println)
  one.foreach(println)
  */

  (nums1 ::: one).foreach(println)

  List.concat(nums1, one).foreach(println)


  //  List.fill() 方法来创建一个指定重复数量的元素列表
  val site2 = List.fill(3)("Runoob") // 重复 Runoob 3次
  println("site : " + site)

  val num2 = List.fill(10)(2) // 重复元素 2, 10 次
  println("num : " + num2)


  // 元素的操作，返回一个list   :+ 追加   +：前缀添加   ++/::追加
  site :+ "zhang" //返回一个新的list(开头添加)
  println((site :+ "zhang").reverse + "     " + site)


  site +: "zhang" //返回一个新的list(末尾添加)
  println((site +: ("zhang")))


  //list的函数
  site.copyToArray(new Array[String](2), 0, 2);
  println(site.head + site.contains("zhang") + site.distinct + site.drop(1) + site.dropRight(2) + site.forall(_.equals("zhang")) + site.init + site.last + site.sorted + site.toSeq + site.take(2) + site.takeRight(1) + site.max + site.length)





}
